package com.zzyl.service;

import com.zzyl.base.PageResponse;
import com.zzyl.dto.AlertRuleDto;
import com.zzyl.vo.AlertRuleVo;
import com.zzyl.vo.DeviceDataVo;

import java.util.List;

/**
 * wangcong
 * 2025/2/16 10:36
 */
public interface AlertRuleService {
    void create(AlertRuleDto alertRuleDto);

    PageResponse<AlertRuleVo> getPage(Integer pageNum, Integer pageSize, String alertRuleName, String functionName, String productKey);

    AlertRuleVo read(Long id);

    void update(Long id, AlertRuleDto alertRuleDto);

    void delete(Long id);

    void updateStatus(Long id, Integer status);

    List<AlertRuleVo> queryAllRules(String productKey, String functionId, String iotId);

    void matchRule(DeviceDataVo deviceDataVo);
}
